package com.ipzoe.app.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ipzoe.common.annotation.Excel;
import com.ipzoe.system.domain.Region;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class SignedActivityDTO implements Serializable {

    /** $column.columnComment */
    private Long id;

    /** 活动名称 */
    private String name;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginTime;

    /** 报名截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    /** 活动城市 */
    private Long cityCode;

    private Region city;

    /** 活动权限 */
    private Integer permission;

    private String permissionDictLabel;

    /** 活动状态 */
    private Integer status;

    private String statusDictLabel;

    /** logo图片 */
    private String logoUrl;

    /** 活动简介 */
    private String introduction;

    /** 活动详细 */
    private String info;

    /** 浏览次数 */
    private Integer pvNum;

    /** 报名人数 */
    private Integer signupNum;

    /** $column.columnComment */
    private Date createTime;

    /** $column.columnComment */
    private String createBy;

    /** $column.columnComment */
    private Date updateTime;

    /** $column.columnComment */
    private String updateBy;

    /** 报名用户id */
    private Long signMemberId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String signUsername;

    /** 昵称 */
    @Excel(name = "昵称")
    private String signNickname;

    /** 手机 */
    @Excel(name = "手机")
    private String signMobile;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String signEmail;

    /** $column.columnComment */
    private Date signCreateTime;

    /** 活动报名状态，数据字典 */
    private Integer signStatus;

    /** 核销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date signVerificationTime;

    /** 核销人 */
    private String signVerificationBy;
}
